home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9611 / 000205_owner-urn-ietf _Tue Nov 26 11:51:04 1996.msg < prev    next >
Internet Message Format  |  1997-02-19  |  55KB

  1. Received: (from daemon@localhost) by services.bunyip.com (8.6.10/8.6.9) id LAA10668 for urn-ietf-out; Tue, 26 Nov 1996 11:51:04 -0500
  2. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.6.10/8.6.9) with SMTP id LAA10663 for <urn-ietf@services.bunyip.com>; Tue, 26 Nov 1996 11:50:53 -0500
  3. Received: from lysithea.lcs.mit.edu by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  4.         id AA16766  (mail destined for urn-ietf@services.bunyip.com); Tue, 26 Nov 96 11:50:02 -0500
  5. Received: (from sollins@localhost) by lysithea.lcs.mit.edu (8.6.9/8.6.9) id LAA17893; Tue, 26 Nov 1996 11:50:00 -0500
  6. Date: Tue, 26 Nov 1996 11:50:00 -0500
  7. Message-Id: <199611261650.LAA17893@lysithea.lcs.mit.edu>
  8. From: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  9. To: urn-ietf@bunyip.com
  10. Subject: [URN] resending
  11. Sender: owner-urn-ietf@services.bunyip.com
  12. Precedence: bulk
  13. Reply-To: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  14. Errors-To: owner-urn-ietf@bunyip.com
  15.  
  16. Don't know what happened, but here's the whole document...Thanks to
  17. those of you who pointed this out to me.
  18.  
  19.             Karen
  20.  
  21. ______________________________
  22.  
  23. Internet Draft                                          Karen R. Sollins
  24. draft-ietf-urn-req-frame-00.txt                                  MIT/LCS
  25. Expires May 26, 1997                                   November 26, 1996
  26.  
  27.     Requirements and a Framework for URN Resolution Systems
  28.  
  29.  
  30. Status of this draft
  31.      This document is an Internet-Draft.  Internet-Drafts are working
  32.      documents of the Internet Engineering Task Force (IETF), its
  33.      areas, and its working groups.  Note that other groups may also
  34.      distribute working documents as Internet-Drafts.
  35.  
  36.      Internet-Drafts are draft documents valid for a maximum of six
  37.      months and may be updated, replaced, or obsoleted by other
  38.      documents at any time.  It is inappropriate to use Internet-
  39.      Drafts as reference material or to cite them other than as
  40.      ``work in progress.''
  41.  
  42.      To learn the current status of any Internet-Draft, please check
  43.      the ``1id-abstracts.txt'' listing contained in the Internet-
  44.      Drafts Shadow Directories on ftp.is.co.za (Africa),
  45.      nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
  46.      ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
  47.  
  48.  
  49. Abstract:
  50.  
  51. This document addresses the issues of the discovery of local URN
  52. resolution services that in turn will directly translate URNs into
  53. URLs and URCs.  The document falls into three major parts, the
  54. assumptions underlying the work, the requirements in order to be a
  55. viable URN-resolution-service discovery service or UDS, and a
  56. framework for designing UDSs.  The requirements fall into three major
  57. areas: evolvability, usability, and security and privacy.  A UDS that
  58. is compliant with the framework will not necessarily be compliant with
  59. the requirements.  Compliance with the requirements will need to be
  60. validated separately.
  61.  
  62. 1. Introduction
  63.  
  64. The purpose of this document is to lay out the engineering criteria for
  65. what we will call here a URN-resolution-service discovery service (UDS).
  66. __________
  67.  
  68. Acknowledgments
  69.  
  70. Foremost acknowledgment for this document goes to Lewis Girod, as my
  71. co-author on a previous URN requirements document and for his insightful
  72. comments on this version of the document.  In addition, I recognize the
  73. contributors to a previous URN framework document, the "Knoxville"
  74. group.  There are too many of you to acknowledge here individually, but
  75. thank you.  Finally, I must thank the contributors to the URN working
  76. group mailing list (urn-ietf@bunyip.com), for their animated discussions
  77. on these and related topics.
  78.  
  79. URN Resolution Requirements                                      Page  1
  80.  
  81. This is a component of the realization of an information infrastructure.
  82. In the case of this work, that infrastructure is to be available, "in
  83. the Internet" or globally, and hence the solutions to the problems we
  84. are addressing must globally scalable.  In this work, we are focussing
  85. specifically on naming of resources and resolution of those names to the
  86. exclusion of other problems such as typing, resource access and
  87. availability, security of the resources, etc.  Those are all important
  88. problems, but not part of this effort.
  89.  
  90. The Uniform Resource Identifier Working Group defined a naming
  91. architecture, as demonstrated in a series of three RFCs 1736[RFC1736],
  92. 1737{RFC1737}, and 1738[RFC1738].  Although several further documents
  93. are needed to complete the description of that architecture, it
  94. incorporates three core functions often associated with "naming":
  95. identification, location, and mnemonics or semantics.  Names may provide
  96. the ability to distinguish one resource from another, by distinguishing
  97. their "names".  Names may help to provide access to a resource by
  98. including "location" information.  Lastly, names may have other semantic
  99. or mnemonic information that either helps human users remember or figure
  100. out the names, or include other semantic information about the resource
  101. being named.  The URI working group concluded that there was need for
  102. persistent, globally unique identifiers, distinct from location or other
  103. semantic information; these "names" provide identity, in that if two of
  104. them are "the same" (under some simple rule of canonicalization), they
  105. identify the same resource.  Furthermore, the group decided that these
  106. "names" were generally to be for machine, rather than human consumption.
  107. One can imagine a variety human-friendly naming (HFN) schemes supporting
  108. different suites of applications and user communities.  These will need
  109. to provide mappings to URNs in tighter or looser couplings, depending on
  110. the namespace.  It is these that will be mnemonic, content-full, and
  111. perhaps mutable, to track changes in use and semantics.  They may
  112. provide nicknaming and other aliasing, relative or short names, context
  113. sensitive names, descriptive names, etc.  The URI naming architecture as
  114. described in the introductions to RFCs 1736 and 1737 lays out three
  115. sorts of components to the naming architecture: identifiers called
  116. Uniform Resource Names (URNs), locators called Uniform Resource Locators
  117. (URLs) and semantic meta-information called Uniform Resource
  118. Characteristics (URCs).  This document focusses on part of the problem
  119. of the translation from URN to URL and/or URC.
  120.  
  121. Within the URI community there has been a concept used frequently that
  122. for lack of a better term we will call a _hint_.  A hint is something
  123. that helps in the resolution of a URN.  Examples of hints are: 1) the
  124. name of a resolution service that may further resolve the URN, 2) the
  125. address of such a service, 3) a location at which the resource was
  126. previously found.  The defining feature of hints is that they are only
  127. hints; they may be out of date, temporarily invalid, or only applicable
  128. within a specific locality.  They do not provide a guarantee of access,
  129. but they probably will help in the resolution process.  Wemust assume
  130. that most resolutions of URNs will be provided by the use of locally
  131. stored hints, because maintaining a database of globally available,
  132. completely up-to-date location information is infeasible for performance
  133. reasons.  There are a number of circumstances in which one can imagine
  134. that hints become invalid, either because a resource has moved or
  135. because a different URN resolution service has taken over the
  136.  
  137. URN Resolution Requirements                                      Page  2
  138.  
  139. responsibility for resolution of the URN.  Hints may be found in a
  140. variety of places.  It is generally assumed that a well engineered
  141. system will maintain a set of hints for each URN at each location where
  142. that URN is found.  In addition, for those situations in which those
  143. hints found locally fail, a well-engineered system will provide a
  144. fall-back mechanism for discovering further hints.  It is this fall-back
  145. mechanism, a UDS, that is being addressed in this document.  As with all
  146. hints, there can never be a guarantee that access to a resource will be
  147. available to all clients, even if the resource is accessible to some.
  148. However, a UDS is expected to work with reasonably high reliability,
  149. and, hence, may result in increased response time.  The remainder of
  150. this document falls into three sections.  The first identifies several
  151. sets of assumptions underlying this work.  The next lays out the
  152. requirements for a URN-resolution-service discovery service.  This
  153. section is probably the most critical of the document, because it is
  154. this that provides the metric for whether or not a proposed scheme for a
  155. UDS is adequate or not.  For the reader short on time, each of the three
  156. major subsections of the requirements section concludes with a summary
  157. list of the requirements identified in that section.  The final section
  158. of the document lays out a framework for such UDSs.  The purpose of this
  159. last section is to bound the search space for UDS schemes.  One must be
  160. careful not to assume that because a UDS scheme fits within the
  161. framework that it necessarily meets the requirements.  As will be
  162. discussed further in this last section, designing within the framework
  163. does not guarantee compliance, so compliance evaluation must also be
  164. part of the process of evaluation of a scheme.
  165.  
  166. 2. Assumptions
  167.  
  168. Based on previous internet drafts and discussion in both the URN BOFs
  169. and on the URN WG mailing list, three major areas of assumptions are
  170. apparent: longevity, delegation, and independence.  Each will be
  171. discussed separately.
  172.  
  173. The URN requirements state that a URN is to be a "persistent
  174. identifier".  It is probably the case that nothing will last forever,
  175. but in the time frame of resources, users of those resources, and the
  176. systems to support the resources, the identifier should be considered to
  177. be persistent or have a longer lifetime than those other entities.
  178. There are two assumptions that are implied by longevity of URNs:
  179. mobility and evolution.  "Mobility" assumes that.  everything will move
  180. over the life of a URN.  For example, resources will move from one
  181. machine to another, because individual machines have a much shorter
  182. lifetime than resources, generally measured in a number of years less
  183. than a decade.  Owners of resources may move and wish their resources to
  184. follow them.  The services themselves will move.  "Evolutions" assumes
  185. that the supporting infrastructure will evolve.  This may take the form
  186. of entirely new transport protocols or new versions of existing
  187. protocols.  Furthermore, services such as storage services may evolve;
  188. it is even possible that within a human lifetime the Unix file system
  189. model may no longer be in use!  Clearly there will be evolution of and
  190. improvement in supporting authentication and security mechanisms.  These
  191. are only examples.  In general, we must assume that almost any piece of
  192. the supporting infrastructure of URN resolution will evolve.  In order
  193. to deal with both the mobility and evolution assumptions that derive
  194.  
  195. URN Resolution Requirements                                      Page  3
  196.  
  197. from the assumption of longevity, we must assume that users and their
  198. applications can remain independent of these mutating details of the
  199. supporting infrastructure.
  200.  
  201. The second and third assumptions are two forms of modularity, delegation
  202. and isolation.  The delegation assumption is that an entity may
  203. partition and pass off some of its authority or responsibility.  One of
  204. those responsibilities is for assigning URNs; practically speaking,
  205. there cannot be only a single authority for assigning URNs.  We expect
  206. that there will be a multi-tiered naming authority delegation.
  207. Furthermore, it is difficult to imagine a non-partitioned and delegated
  208. global UDS, meaning that hint discovery and resolution will be
  209. partitioned and delegated.  In some UDS schemes, the delegation of
  210. naming authority will form a basis for delegating the management and
  211. dispensing of location information.
  212.  
  213. The third assumption is independence or isolation of one authority from
  214. another and, at least to some extent from its parent.  Underlying much
  215. of the thinking and discussion in the URI and URN working groups has
  216. been the assumption that when a component delegates authority to another
  217. component, the delegatee can operate in that domain independently of its
  218. peers and within bounds specified by the delegation, independently of
  219. the delegator.  This isolation is critically important in order to allow
  220. for independence of policy and mechanism.
  221.  
  222. There are a number of more specific assumptions that fall under this
  223. rubric of isolation.  First, we assume that the publisher of a resource
  224. can choose resolution services, independently of choices made by others.
  225. At any given time, the owner of a namespace may choose a particular URN
  226. resolution service for that delegated namespace.  Such a URN resolution
  227. service may be outside the UDS service model, and just identified or
  228. located by the UDS service.  Second, it must be possible to make a
  229. choice among UDS services, perhaps based on different underlying
  230. internal architectures.  The reason that this is an assumption is that
  231. there must be an evolutionary path through a sequence of core UDS
  232. services.  Although at any given time there is likely to be only one or
  233. a small set of such services, the number is likely to increase during a
  234. transition period from one architecture to another.  Thus, it must be
  235. assumed that clients can make a choice among a probably very small set
  236. of UDSs.  Third, there must be independence in the choice about levels
  237. and models of security and authenticity required.  This choice may be
  238. made by the owner of a naming subspace, in controlling who can modify
  239. hints in that subspace.  A naming authority may delegate this choice to
  240. the owners of the resources named by the names it has assigned.  There
  241. may be limitations on this freedom of choice in order to allow other
  242. participants to have the level of security and authenticity they
  243. require, for example, in order to maintain the integrity of the UDS
  244. infrastructure as a whole.  Fourth, there is an assumption of
  245. independence of choice of the rule of canonicalization of URNs within a
  246. namespace, limited by any restrictions or constraints that may have been
  247. set by its parent namespace.  This is a choice held by naming
  248. authorities over their own subnamespaces.  Rules for canonicalization
  249. will be discussed further in the framework section below.  Thus, there
  250. are assumptions of independence and isolation to allow for delegated,
  251. independent authority in a variety of domains.
  252.  
  253. URN Resolution Requirements                                      Page  4
  254.  
  255. The modularity assumptions of delegation and isolation imply
  256. independence of decision and implementation, leading to a
  257. decentralization that provides a certain degree of safety from denial of
  258. service.  Based on these these assumptions in conjunction with that of
  259. longevity and those for URLs and URNs as detailed in RFCs 1736 and 1737,
  260. we can now turn to the requirements for a URN services delegation
  261. service.
  262.  
  263. 3. Requirements
  264.  
  265. The requirements applying to a URN-resolution-service discovery service
  266. or UDS center around three important design goals: evolvability,
  267. usability, and security and privacy.  At its core the function of a UDS
  268. is to provide hints for accessing a resource given a URN for it.  These
  269. hints may range in applicability from local to global, and from
  270. short-lived to long-lived.  They also may vary in their degree of
  271. verifiable authenticity.  While it may be neither feasible nor necessary
  272. that initial implementations support every requirement, every
  273. implementation must support evolution to systems that do support every
  274. requirement.
  275.  
  276. It is also important to note that there are other requirements, not
  277. applicable specifically to a UDS that must also be met.  A whole URN
  278. system will consist of namespaces, the resolution information for them,
  279. and the mapping from names in the namespaces to resolution information
  280. (or hints).  URN schemes must meet the requirements of RFC 1737.
  281. Resolution information, to the extent it is expressed as URLs must meet
  282. the requirements of RFC 1736.  But this does not tell the whole story.
  283. Although the URN working group will identify several acceptable
  284. namespaces and the rules binding them, such as how delegation occurs,
  285. how it is expressed in the names, how and to what extent binding to hint
  286. information will be constrained by the namespace, in the long run a
  287. document will be needed to guide the evaluation criteria for acceptance
  288. of new namespaces.  These are not included in the list of requirements
  289. below because they are not requirements for a UDS, but rather for naming
  290. schemes themselves.
  291.  
  292. 3.1 Evolution
  293.  
  294. One of the lessons of the Internet that we must incorporate into the
  295. development of mechanisms for resolving URNs is that we must be prepared
  296. for change.  Such changes may happen slowly enough to be considered
  297. evolutionary modifications of existing services or dramatically enough
  298. to be considered revolutionary.  They may permeate the Internet universe
  299. bit by bit, living side by side with earlier services or they may take
  300. the Internet by storm, causing an apparent complete transformation over
  301. a short period of time.  There are several directions in which we can
  302. predict the need for evolution, even at this time, prior to the
  303. deployment of any such service.  At the very least, the community and
  304. the mechanisms proposed should be prepared for these.
  305.  
  306. First, we expect there to be additions and changes to the mechanisms.
  307. The community already understands that there must be a capacity for new
  308. URN schemes.  A URN scheme will define a set of URNs that meet the URN
  309. requirements[RFC1737], but may have further constraints on the internal
  310.  
  311. URN Resolution Requirements                                      Page  5
  312.  
  313. structure of the URN.  The requirements document would allow for an
  314. overall plan in which URN schemes are free to specify parts of the URN
  315. that are left opaque in the larger picture.  In fact, a URN scheme may
  316. choose to make public the algorithms for any such "opaque" part of the
  317. URN.  For example, although it may be unnecessary to know the structure
  318. of an ISBN, the algorithm for understanding the structure of an ISBN has
  319. been made public.  Other schemes may either choose not to make their
  320. algorithms public, or choose a scheme in which knowledge of the scheme
  321. does not provide any significant semantics to the user.  In any case, we
  322. must be prepared for a growing number of URN schemes.
  323.  
  324. Often in conjunction with a new URN scheme, but possibly independently
  325. of any particular URN scheme, new resolution services may evolve.  For
  326. example, one can imagine a specialized resolution service based on the
  327. particular structure of ISBNs that improves the efficiency of finding
  328. documents given their ISBNs.  Alternatively, one can also imagine a
  329. general purpose resolution service that trades performance for
  330. generality; although it exhibits only average performance resolving
  331. ISBNs, it makes up for this weakness by understanding all existing URN
  332. schemes, so that its clients can use the same service to resolve URNs
  333. regardless of naming scheme.  In this context, there will always be room
  334. for improvement of services, through improved performance, better
  335. adaptability to new URN schemes, or lower cost.  In any case, new models
  336. for URN resolution will evolve and we must be prepared to allow for
  337. their participation in the overall resolution of URNs.
  338.  
  339. If we begin with one overall plan for URN resolution, into which the
  340. enhancements described above may fit, we must also be prepared for an
  341. evolution in the authentication schemes that will be considered either
  342. useful or necessary in the future.  There is no single globally accepted
  343. authentication scheme, and there may never be one.  Even if one does
  344. exist at some point in time, there will always be threats to it, and so
  345. we must always be prepared to move on to newer and better schemes, as
  346. the old ones become too easily spoofed or guessed.
  347.  
  348. Lastly, in terms of mechanism, although we may develop and deploy a
  349. single UDS scheme initially, we must be prepared for that top level
  350. model to evolve.  Thus, if the UDS model supports an apparently
  351. centralized (from a policy standpoint) scheme for inserting and
  352. modifying authoritative information, over time we must be prepared to
  353. evolve to a different model, perhaps one that has a more distributed
  354. model of authority and authenticity.  If the model has no core but
  355. rather a cascaded partial discovery of information, we may find that
  356. this becomes unmanageable with an increase in scaling.  Whatever the
  357. core of the model, we must be prepared for it to evolve with changes in
  358. scaling, performance, and policy constraints such as security and cost.
  359.  
  360. Second, in addition to the evolution of resolution mechanisms, we expect
  361. that the community will follow an evolutionary path towards the
  362. separation of semantics from identification.  The URN requirements
  363. document suggested this path as well, and there has been general
  364. agreement in much of the community that such a separation is desirable.
  365. This is a problem that the public at large has generally not understood.
  366. Today we see the problem most clearly with the use of URLs for
  367. identification.  When a web page moves, its URL becomes invalid.
  368.  
  369. URN Resolution Requirements                                      Page  6
  370.  
  371. Suppose such a URL is embedded in some page, stored in long term
  372. storage.  There are three possible outcomes to this scenario.  One
  373. possibility is that the client is left high and dry with some message
  374. saying that the page cannot be found.  Alternatively, a "forwarding
  375. pointer" may be left behind, in the form of an explicit page requesting
  376. the client to click on a new URL.  Although this will allow the client
  377. to find the intended page, the broken link cannot be fixed because the
  378. URL is embedded in a file outside of the client's control.  A third
  379. alternative is that the target server supplies an HTTP redirect so that
  380. the new page is provided for the client automatically.  In this case,
  381. the client may not even realize that the URL is no longer correct.  The
  382. real problem with both of these latter two situations is that they only
  383. work as long as the forwarding pointer can be found at the old URL.
  384. Semantics, in this case location information, was embedded in the
  385. identifier, and the resolution system was designed to depend on the
  386. semantics being correct.  There are few cases in which we can expect
  387. semantics of any sort to remain valid for a long time, but in many cases
  388. references need to have long lifespans.  Most documents are only useful
  389. while their references still function.
  390.  
  391. We expect the evolution to separation of semantics from identification
  392. to move along at least three paths.  The first will be to develop
  393. temporary aliases to capture the semantics currently embedded in
  394. identifiers.  This will require additional translation, but it will
  395. allow for the development of semantics-free URNs.  Second, we expect
  396. locally shared or private aliases to arise, again supported by a
  397. translation mechanism and allowing for the long-term storage of global,
  398. semantics-free URNs.  Such an aliasing scheme may be used to permit
  399. local aliases for named resources as well as to present these aliases to
  400. users in lieu of the URNs themselves.  Lastly, we expect there may be a
  401. development of global aliases.  These will be more user friendly "names"
  402. that would be shared on a much larger scale, and might be defined in
  403. some global registry.  This may include trademarked names as well as
  404. names in extremely common use.  As with the other alias systems, a
  405. facility for translation is needed.  However, in this case, since the
  406. system of aliases is of global scope, the translation facility will be
  407. very slow if each time an alias is translated it needs to query a
  408. centralized or even reasonably distributed global registry.  In order to
  409. achieve acceptable speeds, the translation facility will need to
  410. maintain a local cache, possibly in cooperation with other nearby alias
  411. caches.  Clearly this is all postulation at present, but it is provided
  412. here to demonstrate some of the scope of evolution for which we must be
  413. prepared.
  414.  
  415. A third evolutionary requirement is even more mechanical than the
  416. others.  At any point in time, the community is likely to be supporting
  417. a compromise position with respect to resolution.  We will probably be
  418. operating in a situation balanced between feasibility and the ideal,
  419. perhaps with policy controls used to help stabilize the service.
  420. Ideally, the service would be providing exactly what the customers
  421. wanted and they in turn would not request more support than they need.
  422. Since we will always be in a situation in which some service provision
  423. resources will be in short supply, some form of policy controls will
  424. always be necessary.  For example, suppose hint entries are being
  425. submitted in such volume that the hint servers are using up their excess
  426.  
  427. URN Resolution Requirements                                      Page  7
  428.  
  429. capacity and need more disk space.  An effective solution to this
  430. problem would be a mechanism such as a pricing policy.  This pricing
  431. policy has the dual effect of both encouraging conservative use of
  432. resources and collecting revenue for the improvement and maintenance of
  433. the system.  As technology changes and the balance of which resources
  434. are in short supply changes, the mechanisms and policies for controlling
  435. their use must evolve as well.
  436.  
  437. In summary, the requirements in the area of evolvability are:
  438.  
  439.    * To support evolution of mechanisms, specifically for
  440.       a) a growing set of URN schemes;
  441.       b) new local URN resolution schemes;
  442.       c) new authentication schemes;
  443.       d) alternative UDS schemes active simultaneously;
  444.    * To support and encourage the evolution toward the separation of
  445.      global identification from short-lived, locally useful, or human
  446.      friendly semantics;
  447.    * To support the development and deployment of pricing models to
  448.      manage human behavior with respect to limited resources.
  449.  
  450. 3.2 Usability and Feature Set Requirements
  451.  
  452. Usability can be evaluated from three distinct perspectives: those of a
  453. publisher wishing to make a piece of information public, those of a
  454. client requesting URN resolution, and those of the provider or manager
  455. of resolution information.  We will separately address the usability
  456. requirements from each of these three perspectives.
  457.  
  458. It is worth noting that there are two additional sorts of participants
  459. in the whole naming process, as discussed in the URN WG.  They are the
  460. naming authorities which choose and assign names, and the authors who
  461. include URNs in their resources.  These two are not relevant to the
  462. design of a UDS and hence are not discussed further here.
  463.  
  464. 3.2.1 The Publisher
  465.  
  466. The publisher must be able to make URNs known to potential customers.
  467. >From the perspective of a publisher, it is of primary importance that
  468. URNs be correctly and efficiently resolvable by potential clients.
  469. Publishers also stand to gain from long-lived URNs, since they increase
  470. the chance that references continue to point to their published
  471. resources.  The publisher must also be able to choose easily among a
  472. variety of potential services that might translate URNs to location
  473. information.  In order to allow for this mobility among resolution
  474. services, the architecture for resolution services specified within the
  475. IETF should not result in a scenario in which changing from one
  476. resolution service to another is an expensive operation.
  477.  
  478. The publisher should be able to arrange for multiple access points to a
  479. published resource.  For this to be useful, resolution services should
  480. be prepared to provide different resolution or hint information to
  481. different clients, based on a variety of information including location
  482. and the various access privileges the client might have.  For example,
  483. companies might arrange for locally replicated copies of popular
  484.  
  485. URN Resolution Requirements                                      Page  8
  486.  
  487. resources, and would like to provide access to the local copies only for
  488. their own employees.  This is distinct from access control on the
  489. resource as a whole, and may be applied differently to different copies.
  490.  
  491. The publisher should be able to provide both long and short term
  492. information about accessing the resource.  Long term information is
  493. likely to be such information as the long term location of the resource
  494. or the location or identity of a resolution service with which the
  495. publisher has a long term relationship.  One can imagine that the
  496. arrangement with such a long term "authoritative" resolution service
  497. might be a guarantee of reliability, resiliency to failure, and atomic
  498. updates.  Shorter term information is useful for short term changes in
  499. services or to avoid short lived congestion or failure problems.  For
  500. example, if the actual repository of the resource is temporarily
  501. inaccessible, the resource might be made available from another
  502. repository.  This short term information can be viewed as temporary
  503. refinements of the longer term information, and as such should be more
  504. easily and quickly made available, but may be less reliable.
  505.  
  506. Lastly, the publishers will be the source of much hint information that
  507. will be stored and served by the manager of the infrastructure.  Despite
  508. the fact that many publishers will not understand the details of the UDS
  509. mechanism, it must be easy and straightforward to install hint
  510. information.  The publisher must be able not only to express hints, but
  511. also to verify that what is being served by the manager is correct.
  512. Furthermore, to the extent that there are security constraints on hint
  513. information, the publisher must be able to both express them and verify
  514. compliance to them easily.
  515.  
  516. 3.2.2 The Client
  517.  
  518. >From the perspective of the client, simplicity and usability are
  519. paramount.  Of critical importance to serving clients effectively is
  520. that there be an efficient protocol through which the client can acquire
  521. hint information.  Since resolving the name is only the first step on
  522. the way to getting access to a resource, the amount of time spent on it
  523. must be minimized.
  524.  
  525. Furthermore, it will be important to be able to build simple, standard
  526. interfaces to the UDS so that both the client and applications on the
  527. client's behalf can interpret hints and subsequently make informed
  528. choices.  The client, perhaps with the assistance of the application,
  529. must be able to specify preferences and priorities and then apply them.
  530. If the ordering of hints is only partial, the client may become directly
  531. involved in the choice and interpretation of them and hence they must be
  532. understandable to that client.  On the other hand, in general it should
  533. be possible to configure default preferences, with individual
  534. preferences viewed as overriding any defaults.
  535.  
  536. >From the client's perspective, although URNs will provide important
  537. functionality, the client is most likely to interact directly only with
  538. human friendly names (HFNs).  As in direct human interaction (not
  539. computer mediated), the sharing of names will be on a small,private, or
  540. domain specific scale.  HFNs will be the sorts of references and names
  541. that are easy to remember, type, choose among, assign, etc.  There will
  542.  
  543. URN Resolution Requirements                                      Page  9
  544.  
  545. also need to be a number of mechanisms for mapping HFNs to URNs.  Such
  546. services as "yellow pages" or "search tools" fall into this category.
  547. Although we are mentioning HFNs here, it is important to recognize that
  548. HFNs and the mappings from HFNs to URNs is and must remain a separate
  549. functionality from a UDS.  Hence, although HFNs will be critical to
  550. clients, they do not fall into the domain of this document.
  551.  
  552. 3.2.3 The Management
  553.  
  554. Finally, we must address the usability concerns with respect to the
  555. management of the hint infrastructure itself.  What we are terming
  556. "management" is a service that is distinct from publishing; it is the
  557. core of a UDS.  It involves the storage and provision of hints to the
  558. clients, so that they can find published resources.  It also provides
  559. security to the extent that there is a commitment for provision of such
  560. security; this is addressed below.
  561.  
  562. The management of hints must be as unobtrusive as possible. First, its
  563. infrastructure (hint storage servers and distribution protocols) should
  564. have as little impact as possible on other network activities.  It must
  565. be remembered that this is an auxiliary activity and must remain in the
  566. background.
  567.  
  568. Second, in order to make hint management feasible, there will need to be
  569. a system for economic incentives and disincentives.  Recovering the cost
  570. of running the system is only one reason for levying charges.  The
  571. introduction of payments often has a beneficial impact on social
  572. behavior.  It may be necessary to discourage certain forms of behavior
  573. that when out of control have serious negative impact on the whole
  574. community.  At the same time, payment policies should encourage behavior
  575. that benefits the community as a whole.  Thus, for example, a small
  576. one-time charge for authoritatively storing a hint will encourage
  577. conservative use of hints.  If we assume that there is a fixed cost for
  578. managing a hint, then the broader its applicability across the URN
  579. space, the more cost effective it is.  That is, when one hint can serve
  580. for a whole collection of URNs, there will be an incentive to submit one
  581. general hint over a large number of more specific hints.  Similar
  582. policies can be instituted to discourage the frequent changing of hints.
  583. In these ways and others, cost effective behavior can be encouraged.
  584.  
  585. Lastly, symmetric to issues of usability for publishers, it must also be
  586. simple for the management to configure the mapping of URNs to hints.  It
  587. must be easy both to understand the configuration and to verify that
  588. configuration is correct.  With respect to management, this requirement
  589. may have an impact not only on the information itself but also on how it
  590. is partitioned among network servers that collaboratively provide the
  591. management service or UDS.  For example, it should be straightforward to
  592. bring up a server and verify that the data it is managing is correct.
  593. Since we are discussing a global and probably growing service,
  594. encouraging volunteer participants requires that, as with the DNS, such
  595. volunteers can feel confident about the service they are providing and
  596. its benefit to both themselves and the rest of the community.
  597.  
  598.  
  599. URN Resolution Requirements                                      Page 10
  600.  
  601. To summarize, the usability requirements fall into three areas based on
  602. participation in hint management and discovery:
  603.  
  604.    * The publisher
  605.       a) URN to hint resolution must be correct and efficient;
  606.       b) Publishers must be able to select among URN resolution
  607.          services to locate their resources;
  608.       c) Publishers must be able to arrange for multiple access points
  609.          for their location information;
  610.       d) Publishers must be able to provide for both long-lived and
  611.          short-lived hints;
  612.       e) It must be relatively easy for publishers to install and
  613.          observer their hint information and any security constraints
  614.          they need for their hints.
  615.    * The client
  616.       a) The interface to the UDS must be simple, effective, and
  617.          efficient;
  618.       b) The client and client applications must be able to understand
  619.          the information stored in and provided by the UDS, in order
  620.          to be able to make informed choices.
  621.    * The management
  622.       a) The management of hints must be as unobtrusive as possible,
  623.          avoiding using too many network resources;
  624.       b) A pricing scheme may be necessary to provide not only cost
  625.          recovery, but also social incentives and disincentives to
  626.          encourage certain sorts of behavior deemed necessary to meet
  627.          other requirements;
  628.       c) The configuration and verification of configuration of
  629.          individual UDS servers must be simple enough not to
  630.          discourage configuration and verification.
  631.  
  632. 3.3 Security and Privacy Requirements
  633.  
  634. Although much of the information we are discussing in this document
  635. might be considered "meta-information", there are some important
  636. security and privacy concerns that must be addressed by a service
  637. supporting that information.  By first considering the sorts of attacks
  638. that are of concern, we can then focus on the security and privacy
  639. issues that are important.  The reader will notice that integrity plays
  640. less of a role here than might be expected.  To the extent that servers
  641. provide access control, the information they manage will have certain
  642. integrity guarantees.  Beyond that we must recognize that we are dealing
  643. merely with hint information about the location of possibly interesting
  644. resources.  Therefore we believe that the benefit of providing integrity
  645. guarantees beyond those provided by the servers themselves does not
  646. outweigh the cost.
  647.  
  648. Because the majority of the activity will be the distribution of hint
  649. information, the threats of concern are those affecting the maintenance
  650. of correct information to distribute and the availability of the sources
  651. of information.  The first approach to URN resolution is to discover
  652. local hints.  By being local, they will be as widely distributed as
  653. possible.  The drawback of such wide distribution is the inability to
  654. update them; therefore, they will become out of date with time.  An
  655. alternative or backup mechanism would concentrate hint information in
  656.  
  657. URN Resolution Requirements                                      Page 11
  658.  
  659. servers, thus requiring that update information only be distributed to
  660. these servers.  Hence the vulnerable points are the sources of the
  661. information and the distribution network among them.  If one assumes
  662. that there will be principals of some sort that are responsible for the
  663. information about each URN entry in the URN resolution service, then one
  664. major threat is an attacker that masquerades as a valid principal and
  665. inserts incorrect information into the service.  A second threat vector
  666. results from the fact that the service itself will be implemented by a
  667. set of servers that collaborate and share the hint information critical
  668. to their activities.  By masquerading as a valid server in this pool, an
  669. attacker can both provide incorrect information to clients and provide
  670. incorrect information to other servers, which those servers will then
  671. distribute.  A third threat is that if the resolution service is too
  672. centralized, service can be denied by a variety of network attacks
  673. ranging from flooding the service with queries to causing various
  674. network problems that will reduce access to the service.  The more
  675. centralized a service is the more vulnerable is the community that
  676. trusts it not to be compromised.  We can turn each of these into a
  677. security goal.
  678.  
  679. * ACCESS CONTROL ON HINTS: There needs to be an authoritative version of
  680.   each hint, and it must support change control limited only to those
  681.   principals with the right to modify it.  The choice of who those
  682.   principals are or whether they are unlimited must be made by the
  683.   publisher of a hint. 
  684.  
  685. * SERVER AUTHENTICITY: Servers and clients must be able to learn the
  686.   identity of the servers with which they communicate.  This will be a
  687.   matter of degree and it is possible that there will be more
  688.   trustworthy, but less accessible servers, supported by a larger
  689.   cluster of less authenticatable servers that are more widely
  690.   available.  In the worst case, if the client receives what appears to
  691.   be invalid information, the client should assume that the hint may be
  692.   inaccurate and confirmation of the data should be sought from more
  693.   reliable but less accessible data.
  694.  
  695. * SERVER DISTRIBUTION: Broad availability will provide resistance to
  696.   denial of service.  It is only to the extent that the services are
  697.   available that they provide any degree of trustworthiness.  In
  698.   addition, the distribution of services will reduce to vulnerability
  699.   of the whole community, by reducing the trust put in any single
  700.   server.  This must be mitigated by the fact that to the extent trust
  701.   is based on a linked set of servers, if any one fails, the whole
  702.   chain of trust fails; the more elements there are in such a chain,
  703.   the more vulnerable it may become.
  704.  
  705.  
  706. _Ensuring_ privacy for clients and publishers is in some respects
  707. essentially impossible.  Fortunately, assuring a reasonable degree of
  708. privacy for those who want it is possible.  The privacy of clients is
  709. primarily threatened by packet sniffers and servers that log requests.
  710. A server or a packet sniffer can without much difficulty record the
  711. contents of queries as they pass by and compile the information into a
  712. relation between URNs and clients.  This can be combatted by anonymizing
  713. queries through a trusted, fairly local gateway, although it involves an
  714.  
  715. URN Resolution Requirements                                      Page 12
  716.  
  717. extra step and another potential bottleneck.  The additional step can be
  718. mitigated by caching responses in the gateway, thus often avoiding the
  719. need to forward requests beyond it.  A second alternative is to send
  720. only partial queries.  As will be discussed further in the framework
  721. section, there may be two reasons for transformation of a URN, first to
  722. canonicalize it and second to extract the identity of another server to
  723. which to send a further request.  This second alternative of sending
  724. partial queries would be achieved by also extracting some partial URN to
  725. further resolve at each stage.  This would not anonymize the queries,
  726. but might make them more difficult to chain together into a complete
  727. story for logging.
  728.  
  729. On the other hand, to the degree that the search process is distributed,
  730. packet sniffing at a single point is less likely to reveal data about a
  731. specific person, and is hence less threatening to privacy.  Furthermore,
  732. if clients have flexibility in terms of the specific services they
  733. choose to use, they can regularly switch services in the hopes of
  734. foiling a packet sniffer watching their usual access point.
  735.  
  736. The privacy of publishers is much easier to safeguard.  Since they are
  737. trying to publish something, in some situations privacy is probably not
  738. desired.  However, publishers do have information that they might like
  739. to keep private: information about who their clients are, and
  740. information about what names exist in their namespace.  The information
  741. about who their clients are may be difficult to collect depending on the
  742. implementation of the resolution system.  For example, if the resolution
  743. information relating to a given publisher is widely replicated, the hits
  744. to _each_ replicated copy will need to be recorded.  Of course,
  745. determining if a specific client is requesting a given name can be
  746. approached from the other direction, by watching the client as we saw
  747. above.
  748.  
  749. The other privacy issue for publishers has to do with access control
  750. over URN resolution.  This issue is dependent on the implementation of
  751. the publisher's authoritative URN resolution server.  URN resolution
  752. servers can be designed to require proof of identity in order to be
  753. issued resolution information; if the client does not have permission to
  754. access the URN requested, the service denies that such a URN exists.  An
  755. encrypted protocol can also be used so that both the request and the
  756. response are obscured.  Encryption is possible in this case because the
  757. identity of the final recipient is known (i.e. the URN server).
  758.  
  759. In summary, security and privacy requirements can be identified as some
  760. degree of protection from threats:
  761.  
  762.    * It must be possible to create authoritative versions of a hint
  763.      with access to modification privileges controlled;
  764.    * It must be possible to determine the identity of servers or avoid
  765.      contact with unauthenticated servers;
  766.    * Broad availability of servers will reduce the thread to denial
  767.      of service;
  768.    * Client privacy is threatened by packet sniffing and server
  769.      logging.  It is desirable to reduce these threats as much as
  770.      possible;
  771.    * It should be feasible for publishers to keep private certain
  772.  
  773. URN Resolution Requirements                                      Page 13
  774.  
  775.      information such as an overall picture of the resources they are
  776.      publishing and the identity of their clients;
  777.    * Publishers should be able to restrict access to the resolution of
  778.      the URNs for the resources they publish, if they wish.
  779.  
  780. 4. The Framework
  781.  
  782. With these assumptions and requirements in mind, one can conclude with a
  783. general framework within which UDS designs will fall.  As stated
  784. earlier, although this framework is put forth as a suggested guide for
  785. UDS designers, compliance with it will in no way guarantee compliance
  786. with the requirements.  Such an evaluation must be performed separately.
  787. It is also understood that there may be UDS services that do not meet
  788. the requirements in clearly identified ways.  This may be true
  789. especially with early plans and experiments.  For example, although a
  790. careful threat analysis may have been done to understand security
  791. requirements, not all those security requirements may be addressed, in
  792. order to use existing facilities to allow for early deployment for
  793. experimentation purposes.  All such lack of compliance should be clearly
  794. documented.
  795.  
  796. The design of the framework is based on a simple assumption about the
  797. syntax of a URN.  This assumed syntax is:
  798.  
  799.     URN:<NID>:<NSS>
  800.  
  801. where URN: is a prefix on all URNs, NID is the namespace identifier, and
  802. NSS is the namespace specific string.  The prefix identifies each URN as
  803. such.  The NID determines the general syntax for all URNs within its
  804. namespace.  The NSS is probably partitioned into a set of delegated and
  805. subdelegated namespaces, and this is probably reflected in further
  806. syntax specifications.  In the more complex environments, each delegated
  807. namespace will be permitted to choose the syntax of the variable part of
  808. the namespace that has been delegated to it.  In simpler namespaces, the
  809. syntax will be restricted completely by the parent namespace.  For
  810. example, although the DNS does not meet all the requirements for URNs,
  811. it has a completely restricted syntax, such that any further structuring
  812. must be done only by adding further refinements to the left, maintaining
  813. the high order to low order, right to left structure.  A delegated
  814. syntax might be one in which a host is named by the DNS, but to the
  815. right of that and separated by an "@" is a string whose internal
  816. ordering is defined by the file system on the host, which may be defined
  817. high order to low order, left to right.  Of course, much more complex
  818. and nested syntaxes should be possible, especially given the need to
  819. grandfather namespaces.  In order to resolve URNs, rules will be needed
  820. for two reasons.  One is simply to canonicalize those namespaces that do
  821. not fall into a straightforward (probably right to left or left to
  822. right) ordering of the components of a URN, as determined by the
  823. delegated naming authorities involved.  It is also possible that rules
  824. will be needed in order to derive from URNs the names of UDS servers to
  825. be used in stages.
  826.  
  827. The NID defines a top level syntax.  This syntax will determine whether
  828. the NID alone or in conjunction with some extraction from the NSS (for
  829. the top level naming authority name) to identify the first level server
  830.  
  831. URN Resolution Requirements                                      Page 14
  832.  
  833. to be contacted.  Each stage of the lookup either a new rule for
  834. generating the strings used in yet another lookup (the strings being the
  835. identify of another UDS server and possibly a string to be resolved if
  836. it is different than the original URN) or a reference outside the UDS to
  837. a private URN resolution service, sidestepping any furthere use of the
  838. UDS scheme.  Figure 1 depicts this process.
  839.  
  840.  
  841.                             URN:<NID><NSS>
  842.                                  |
  843.                                  |
  844.                                  |
  845.                                  |
  846.                                  v
  847.                        +-------------------+
  848.                        |Global NID registry|
  849.                        +-------------------+
  850.                                  |
  851.                                              |
  852.                                  |
  853.               (return rule or URN resolution service reference)
  854.                                  |
  855.                                  +----------------------------------+
  856.                                  |                                  |
  857.                        +->(apply rule to determine UDS server)        |
  858.                |         |                    |
  859.                |         |                    |
  860.                |         |                    |
  861.                        |    +----------+                |
  862.                        |    |UDS server|      +-----------------+
  863.                        |    +----------+      |
  864.                        |      |      |          v
  865.                 |      |      |   (set of choices)
  866.                 |      |      +----+----------(...)--------+
  867.                        |   (rule)      |                       |
  868.                        |      |           |               |
  869.                 |      |           |               |
  870.                 +------+           |               |
  871.                               v               v
  872.                    +----------+          +----------+
  873.                    |private   |          |private   |
  874.                                   |URN         |            |URN         |
  875.                                   |resolution|          |resolution|
  876.                                   |service   |          |service   |
  877.                    +----------+          +----------+
  878.  
  879.  
  880.  
  881.         Figure 1: A UDS framework
  882.  
  883.  
  884. There are several points worth noting about the UDS framework.  First,
  885. it leaves open the determination of the protocols and data organization,
  886. distribution and replication needed to support a particular UDS scheme.
  887. Second, it leaves open the location of the computations engendered by
  888.  
  889. URN Resolution Requirements                                      Page 15
  890.  
  891. the rules.  Third, it leaves open the possibility that partitioning
  892. (distribution) of the UDS database need not be on the same boundaries as
  893. the name delegation.  This may seem radical to some, but if the
  894. information is stored in balanced B-trees for example, the partitioning
  895. may not be along those naming authority delegation boundaries.  Lastly,
  896. it leaves open access to the Global NID Registry.  Is this distributed
  897. to every client, or managed in widely distributed servers?  One concept
  898. that has not been addressed in Figure 1 is that there may be more than
  899. one UDS available at any given time, in order to allow for evolution to
  900. new schemes.  Thus, the picture should probably look more like Figure 2.
  901.  
  902.  
  903.                          URN:<NID>:<NSS>
  904.                                |
  905.                        |
  906.            +-----------+-------(...)-------+
  907.            |                   |
  908.            |                   |
  909.            |                   |
  910.            v                   v
  911.      +---------------------+    +---------------------+
  912.      |Global NID registry 1|        |Global NID registry N|
  913.      +---------------------+        +---------------------+
  914.                    .                               .
  915.                    .                               .
  916.                    .                               .
  917.  
  918.  
  919.         Figure 2: More than one co-existing UDS scheme
  920.  
  921.  
  922. If we are to support more than one co-existing UDS scheme, there will
  923. need to be coordination between them with respect to storage and
  924. propagation of information and modifications.  The issue is that
  925. generally it should be assumed that all information should be available
  926. through any operational UDS scheme.  One cannot expect potential
  927. publishers to submit updates to N UDS schemes.  Hence there will need to
  928. be a straightforward mapping of information from one to the other of
  929. these schemes.  It is possible that that transformation will only go in
  930. one direction, because a newer UDS service is replacing an older one,
  931. which is not kept up to date, in order to encourage transfer to the
  932. newer one.  Thus, at some point, updates may be made only to the newer
  933. one and not be made available to the older one.  Such a situation should
  934. probably be avoided, if possible.
  935.  
  936. This framework is presented in order to suggest to UDS scheme designers
  937. a direction in which to start designing.  It is obvious to the reader
  938. that adherence to this framework will in no way guarantee compliance
  939. with the requirements or even assumption described in Sections 2 and 3.
  940. These must be reviewed independently as part of the design process.
  941. There is no single correct design that will meet these requirements.
  942. Furthermore, it is assumed that preliminary proposals may not meet all
  943. the requirements, but should be expected to itemized and justify any
  944. lack of compliance.
  945.  
  946.  
  947. URN Resolution Requirements                                      Page 16
  948.  
  949. 5. References
  950.  
  951. [RFC1736] Kunze, J., "Functional Recommendations for Internet Resource
  952. Locators", RFC 1736, February, 1995.
  953.  
  954. [RFC1737] Sollins, K. and Masinter, L., "Functional Requirements for
  955. Uniform Resource Names", RFC 1738, December, 1994.
  956.  
  957. [RFC1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform
  958. Resource Locators (URL)", RFC 1738, December, 1994.
  959.  
  960.  
  961. 6. Contact information:
  962.  
  963. Karen Sollins
  964. MIT Laboratory for Computer Science
  965. 545 Technology Sq.
  966. Cambridge, MA 02139
  967.  
  968. Tel: +1 617 253 6006
  969. Email: sollins@lcs.mit.edu
  970.  
  971. This InternetDraft expires on May 26, 1997.
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006. URN Resolution Requirements                                      Page 17
  1007.